package com.jsle.financial.dao;

import java.util.List;

import com.jsle.financial.domain.Company;
import com.jsle.financial.domain.Company_Resources;
import com.jsle.financial.vo.Page;
import com.jsle.financial.vo.Result;


public interface CompanyDao{
	/**
	 * 新增一公司
	 * @param user
	 * @return
	 */
	public Result addCompany(Company company);
	/**
	 * 删除一公司
	 * @param user
	 * @return
	 */
	public Result delCompany(Company company);
	/**
	 * 更新一公司信息
	 * @param user
	 * @return
	 */
	public Result updateCompany(Company company);
	/**
	 * 根据公司代码获取一公司信息
	 * @param loginName
	 * @return
	 */
	public Result queryCompanyByCompanyCode(Company companyParameter);
	
	public List<Company> selCompanysByPage(Page page);
	/**
	 * 公司配置资源
	 * @param cr
	 * @return
	 */
	public Result addCompanyAndResources(Company_Resources cr);
	/**
	 *分页查询
	 */
	public Result queryCompanysByPage(Page page, String companyName);
	
	/**
	 * 根据公司id获取公司资源集合
	 */
	public List<Company_Resources> getCompanyRes(Company company );
	
	/**
	 * 根据公司code删除人员信息
	 * @param company
	 * @return
	 */
	public Result delUsersByCompany(Company company);
	/**
	 * 根据公司code删除用户组信息
	 * @param company
	 * @return
	 */
	public Result delUserGroupsByCompany(Company company);
	
	/**
	 * 根据公司code删除公司关联资源信息
	 * @param company
	 * @return
	 */
	public Result delCompanyResourcesByCompany(Company company);
	
	/**
	 * 根据公司code删除人员-用户组关联信息
	 * @param company
	 * @return
	 */
	public Result delUserUserGroupsByCompany(Company company);
	
	/**
	 * 获取所有公司
	 * @return
	 */
	public Result queryCompanys();
}
